`include "mul.v"
`default_nettype none

module tb_mul;
reg [63:0] i_a;
reg [63:0] i_b;
output [127:0] o_p;

mul u_mul
(
  .i_a (i_a),
  .i_b (i_b),
  .o_p(o_p)
);


initial begin
  $dumpfile("../dump/tb_mul.vcd");
  $dumpvars(0, tb_mul);
end

initial begin
  #0 i_a = 64'h0;
     i_b = 64'h0;

  #20 i_a = 64'h2;
  #20 i_b = 64'h2;
  #20 i_a = 64'h3f;
  #20 i_b = 64'h7;
  #20 i_a = 64'h2; i_b = 64'hffff_ffff_ffff_ffff;
  #20 i_a = 64'h3; i_b = 64'hffff_ffff_ffff_ffff;
  #20 i_a = 64'hffff_ffff_ffff_ffff; i_b = 64'hffff_ffff_ffff_ffff;
  $finish();
end

initial begin
  $monitor($time, " i_a:%d i_b:%d o_p:%d", i_a, i_b, o_p);
end

endmodule
`default_nettype wire